package com.sise.stuteaintersys.mapper;

import com.sise.stuteaintersys.bean.entity.CourseType;
import com.sise.stuteaintersys.bean.entity.CourseTypeExample;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import org.springframework.stereotype.Component;

import java.util.List;

@Component
public interface CourseTypeMapper {
    int countByExample(CourseTypeExample example);

    int deleteByExample(CourseTypeExample example);

    int deleteByPrimaryKey(Integer id);

    int insert(CourseType record);

    int insertSelective(CourseType record);

    List<CourseType> selectByExample(CourseTypeExample example);

    CourseType selectByPrimaryKey(Integer id);

    int updateByExampleSelective(@Param("record") CourseType record, @Param("example") CourseTypeExample example);

    int updateByExample(@Param("record") CourseType record, @Param("example") CourseTypeExample example);

    int updateByPrimaryKeySelective(CourseType record);

    int updateByPrimaryKey(CourseType record);

    /**
     * 自实现查询所有课程分类
     * @return
     */
    @Select("SELECT * FROM course_type")
    List<CourseType> selectAll();

    /**
     * 更新课程分类的typeName
     * @param newName
     * @param oldName
     * @return
     */
    @Update("UPDATE course_type SET course_type.type_name = #{newName} WHERE course_type.type_name = #{oldName}")
    int updateCourseByCourseTypeName(@Param("newName") String newName, @Param("oldName") String oldName);
}